/*
 * algoritmoPPD.h
 *
 *  Created on: 21/10/2011
 *      Author: utn_so
 */

#ifndef ALGORITMOPPD_H_
#define ALGORITMOPPD_H_

#include "estructurasCola.h"
#include "configLoader.h"
#include "list.h"
#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

extern t_direccion_fisica posActualCabezal;
extern t_direccion_fisica ultimaPosicion;
extern tipoConfigPPD configuracion;
//extern uint8_t ascendente;
extern uint8_t proxEstado;
uint32_t ultimoElemento_C2;
uint32_t ultimoElemento_C1;
extern t_colaSCAN* colaActual;
extern Sector sectorSacado;

void QUITAR_DE_COLA_SCAN(t_sector *sector, t_colaSCAN* C);
void QUITAR_DE_COLA(t_sector *sector, cola C);
void PONER_EN_COLA_SSTF(t_sector sector, cola C);
void PONER_EN_COLA_SCAN(t_sector sector, t_colaSCAN* C);
void ORDENAR_ASCENDENTE_SCAN(t_sector sector, nodo** cola);
void ORDENAR_DESCENDENTE_SCAN(t_sector sector, nodo** cola);
uint32_t cantidadElementos(void* cola);
t_direccion_fisica ultimoElemento(nodo* cola);
void QUITAR_DE_COLA_NSTEP(t_sector *sector, t_list* nstep);
void PONER_EN_COLA_NSTEP(t_sector sector, t_list* nstep);

#endif /* ALGORITMOPPD_H_ */

